07 - 记忆与上下文外泄:被诱导说出来的那些事
前置:01 - 威胁模型的 Lethal Trifecta,06 - 凭证与密钥的出口侧脱敏。
本篇回答:Agent 记住的关于用户的一切,怎么被第三方诱导吐出去;以及别人怎么往这份记忆里塞东西。
会用到的词:
- 长期记忆:跨会话保留的用户信息。和「上下文窗口」不同 —— 上下文随会话结束而消失,长期记忆不会
- 记忆投毒(memory poisoning):攻击者让 Agent 把攻击者写的内容当成「关于用户的事实」存进长期记忆
- 渲染即外传:模型输出里的一个图片链接,被客户端自动加载时就完成了一次数据外发,不需要用户点任何东西
- provenance(来源标记):一条记忆记录「这句话是从哪来的」—— 用户亲口说的,还是从某个网页读到的
一、记忆把一次性风险变成永久风险
01 篇的 Lethal Trifecta 说:能接触私有数据、摄入不可信内容、有对外通道,三者同时具备时外泄无法从原理上避免。
长期记忆做的事是把第一条从「有时成立」改成「永远成立」。没有记忆时,Agent 只在你主动提供数据的那一轮里接触私有数据;有了记忆,它每一轮开场就带着你的全部画像。
更麻烦的是第二个变化:注入的作用域从一次会话变成了永久。
所以本篇讲两个方向,它们的防御手段完全不同:
- 读方向:记忆里的东西怎么被诱导说出去(外泄)
- 写方向:不属于用户的东西怎么被写进记忆(投毒)